package com.baseweb.webadmin.core.model.bvo;

import com.baseweb.webadmin.core.model.pojo.ByUserOrder;
import com.baseweb.webadmin.core.model.pojo.User;
import org.joda.time.DateTime;

import java.math.BigDecimal;
import java.util.List;

public class ByUserOrderInfoBvo extends ByUserOrder{

    private User user;

    private UserInfoBvo bizUser;

    private List<ByUserOrderDetailInfoBvo> detailInfoBvoList;

    public static ByUserOrderInfoBvo copyFrom(ByUserOrder byUserOrder, User user, UserInfoBvo bizUser) {
        ByUserOrderInfoBvo bvo = new ByUserOrderInfoBvo();
        bvo.setId(byUserOrder.getId());
        bvo.setUserId(byUserOrder.getUserId());
        bvo.setPayType(byUserOrder.getPayType());
        bvo.setPrice(byUserOrder.getPrice());
        bvo.setCoins(byUserOrder.getCoins());
        bvo.setCreateTime(byUserOrder.getCreateTime());
        bvo.setUpdateTime(byUserOrder.getUpdateTime());
        bvo.setDescn(byUserOrder.getDescn());
        bvo.setStatus(byUserOrder.getStatus());
        bvo.setOrderType(byUserOrder.getOrderType());
        bvo.setBizComment(byUserOrder.getBizComment());
        bvo.setUserComment(byUserOrder.getUserComment());
        bvo.setBizStars(byUserOrder.getBizStars());
        bvo.setUserStars(byUserOrder.getUserStars());
        bvo.setVoucher(byUserOrder.getVoucher());
        bvo.setDeposit(byUserOrder.getDeposit());
        bvo.setNeedPayPrice(byUserOrder.getNeedPayPrice());
        bvo.setAlipaynotifytime(byUserOrder.getAlipaynotifytime());
        bvo.setAlipaynotifytype(byUserOrder.getAlipaynotifytype());
        bvo.setAlipaynotifyid(byUserOrder.getAlipaynotifyid());
        bvo.setAlipaytradeno(byUserOrder.getAlipaytradeno());
        bvo.setAlipaytradestatus(byUserOrder.getAlipaytradestatus());
        bvo.setAlipaysellerid(byUserOrder.getAlipaysellerid());
        bvo.setAlipayselleremail(byUserOrder.getAlipayselleremail());
        bvo.setAlipaytotalfee(byUserOrder.getAlipaytotalfee());
        bvo.setAlipaygmtcreate(byUserOrder.getAlipaygmtcreate());
        bvo.setAlipaygmtpayment(byUserOrder.getAlipaygmtpayment());
        bvo.setWeixinorderid(byUserOrder.getWeixinorderid());
        bvo.setWeixinbanktype(byUserOrder.getWeixinbanktype());
        bvo.setWeixinfeetype(byUserOrder.getWeixinfeetype());
        bvo.setWeixintimer(byUserOrder.getWeixintimer());
        bvo.setWeixintradetype(byUserOrder.getWeixintradetype());
        bvo.setWeixinopenid(byUserOrder.getWeixinopenid());
        bvo.setWeixinsign(byUserOrder.getWeixinsign());
        bvo.setWeixincashfee(byUserOrder.getWeixincashfee());
        bvo.setWeixincashfeetype(byUserOrder.getWeixincashfeetype());
        bvo.setWeixinissubscribe(byUserOrder.getWeixinissubscribe());
        bvo.setPayStatus(byUserOrder.getPayStatus());
        bvo.setBizUserId(byUserOrder.getBizUserId());
        bvo.setRedPacketMoney(byUserOrder.getRedPacketMoney());

        bvo.setUser(user);
        bvo.setBizUser(bizUser);

        return bvo;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public UserInfoBvo getBizUser() {
        return bizUser;
    }

    public void setBizUser(UserInfoBvo bizUser) {
        this.bizUser = bizUser;
    }

    public List<ByUserOrderDetailInfoBvo> getDetailInfoBvoList() {
        return detailInfoBvoList;
    }

    public void setDetailInfoBvoList(List<ByUserOrderDetailInfoBvo> detailInfoBvoList) {
        this.detailInfoBvoList = detailInfoBvoList;
    }
}
